
//添加class名   原来有classname在直接添加会覆盖，所以封装函数，可以添加多个类名
function addClass(obj,className){
	if (obj.className=="") {
		obj.className=className;
	} else{
		var arrClassName=obj.className.split(" ");
		var _index=arrIndex(arrClassName,className);
	};
	if (_index==-1) {
		obj.className += " " + className;
	}
}
//遍历原来class里面的每一项，与要添加的名字作比较
function arrIndex(arr,k){
	for (var i = 0; i < arr.length; i++) {
		if (arr[i]==k) {
			return i;//如果有相同的，返回原数组相同的那一项对应的下标
		}
	}
	return -1;
}


//移除class名
function removeClass(obj,className){
	if(obj.className!==""){
		var arrClassName=obj.className.split(" ");
		var _index=arrIndex(arrClassName,className);
		if(_index!== -1){
			arrClassName.splice(_index,1);//删除对应找到的class名
			obj.className=arrClassName.join(" ");//将数组转为字符串
		}
	}
}


//通过class名获取页面    元素，父级（ie低版本不兼容）
function getElementsByClassName(className,tagName,parent){
	var aEls=parent.getElementsByTagName(tagName);
	var arr=[];
	for (var i = 0; i < aEls.length; i++) {
		var aClassName=aEls[i].className.split(" ");
		for (var j = 0; j < aClassName.length; j++) {
			if (aClassName[j]==className) {
				arr.push(aEls[i]);
				break;
			}
		}
	}
}

//运动函数封装（匀速）       依赖getStyle函数
function Move(obj,attr,dir,target,callBack){
	//与运算比或运算优先级高
	dir= parseInt(getStyle(obj,attr))>target? -dir: dir;
	clearInterval(obj.timer);
	obj.timer=setInterval(function(){
		var speed=parseInt(getStyle(obj,attr))+dir;
		if (speed>=target&dir>0||speed<=target&dir<0) {
			speed=target;
		}
		obj.style[attr]=speed+"px";//加上px
		if (speed==target) {
			clearInterval(obj.timer);
			if (callBack) {
				callBack();
			}
		}
	},50)
}

//封装一个设置cookie的函数
function setCookie(key,value,time){
	var mydate=new Date();
	mydate.setDate( mydate.getDate()+time );
	document.cookie=key+"="+encodeURI(value)+";expires="+mydate.toGMTString();
}

//封装一个$函数
function $(selector,content){
	var fristChar=selector.charAt(0);
	var content=content||document;
	if(fristChar==="#"){
		return content.getElementById(selector.slice(1));
	}else if(fristChar==="."){
		var arr=[];
		var AllElements=content.getElementsByTagName("*");
		for(var i=0;i<AllElements.length;i++){
			var className=AllElements[i].className;
			var classArr=className.split(" ");
			for(var j=0;j<classArr.length;j++){
				if(selector.slice(1)===classArr[j]){
					arr.push(AllElements[i]);
					break;
				}
			}
		}
		return arr;
	}else{
		return content.getElementsByTagName(selector);
	}
}




//获取的是第一个元素节点的函数
function first(ele){
	var firstchild=ele.firstElementChild||ele.firstChild;
	if(!firstchild||firstchild.nodeType!==1){
		return null;
	}else{
		return firstchild;
	}
}
//获取最后一个元素节点的函数
function last(ele){
	var lastchild=ele.lastElementChild||ele.lastChild;
	if(!lastchild||lastchild.nodeType!==1){
		return null;
	}else{
		return lastchild;
	}
}	
//获取下一个兄弟元素节点的函数
function next(ele){
	var nextnode=ele.nextElementSibling||ele.nextSibling;
	if(!nextnode||nextnode.nodeType!==1){
		return null;
	}else{
		return nextnode;
	}
}
//获取上一个兄弟元素节点
function prev(ele){
	var prevnode=ele.previousElementSibling||ele.previousSibling;
	if(!prevnode||prevnode.nodeType!==1){
		return null;
	}else{
		return prevnode;
	}
}
//一个得到位置的函数
function getPos(obj){
	var pos={left:0,top:0};
	
	while(obj){
		pos.left +=obj.offsetLeft;
		pos.top +=obj.offsetTop;
		obj=obj.offsetParent;
	}
	return pos;
}	


//封装一个得到样式的兼容性函数

function getStyle(obj,attr){
		if(obj.currentStyle){
			return obj.currentStyle[attr];
		}else{
			return getComputedStyle(obj,null)[attr];
		}
	}

function removeClass(obj,className){
	if(obj.className!==""){
		var arrClassName=obj.className.split(" ");
		var _index=arrIndex(arrClassName,className);
		if(_index!=-1){
			arrClassName.splice(_index,1);
			obj.className=arrClassName.join(" ");
		}
	}
}
//获取className
function getElementsByClassName(className){
	var aEls=document.getElementsByTagName("*");
	var arr=[];
	for(var i=0;i<aEls.legth;i++){
		var aClassName=aEls[i].className.split(" ");
		for(var j=0;j<aClassName.length;j++){
			if(aClassName[j]==className){
				arr.push(aEls[i]);
				break;
			}
		}
	}
}


//删除文本节点
function removeTextNode(nodeList){
	var arr = [];
	for(var i=0;i<nodeList.length;i++){
		if(nodeList[i].nodeType!=3){//非文本节点
			arr.push(nodeList[i]);
		}
	}
	return arr;
}





